home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Disc to the Future 2
/
Disc to the Future Part II Programmer's Reference (Wayzata Technology)(6013)(1992).bin
/
MAC
/
THINKC
/
4_0
/
DSAT_ANA
/
DSAT_SCA.C
< prev
next >
Wrap
Text File
|
1988-11-02
|
775b
|
37 lines
/*
System error alert table analyzer
"DSAT Scan.c"
*/
#include "DSAT.h"
/* ----- Scan alert table ----------------------------------------------- */
int ScanTable(start, size, callback)
register TABLE_PTR start;
register long size;
PFI callback;
{
register DEFINITION_PTR p;
register int i, length;
p = start->definition;
i = 0;
size -= 2;
while(size > 0) {
if ((length = p->u.length) & 1)
return -1; /* Should be even */
length += 4;
if ((size -= length) < 0)
return -2; /* Incoherence */
if (callback)
if ((* callback)(i, p)) /* Call back */
return i;
p = (DEFINITION_PTR)((char *)p + length);
i++;
}
if (start->count != i+1)
return -3; /* Count does not match size */
return i; /* Return number of definitions */
}